﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using Atlandiz.Data;


namespace Atlandiz.EnvanterVeZimmetYonetimi
{
    public partial class ListeDepartman : DevExpress.XtraEditors.XtraForm
    {
        public bool ForSelection = false;

        public ListeDepartman()
        {
            InitializeComponent();
        }

      
        private void DepartmanLst_Load(object sender, EventArgs e)
        {
            Army.EventConfirm = false;
            DepListYukle();
        }

        public void DepListYukle()

        {
            string Sorgu = "Select \n"+
                "dID,\n"+
                "DepAdi\n" + 
                   "from Departman \n"+
                   "where isDeleted=0";

            _lwDepartmanlar.Items.Clear();

            DataTable dt = Army.SQL().GetDataTable(Sorgu);
            foreach (DataRow item in dt.Rows)
            {
                ListViewItem ls = new ListViewItem(item[0].ToString());
                ls.SubItems.Add(item[1].ToString());

                _lwDepartmanlar.Items.Add(ls);
            }

        }

        public void KDuzenle()

        {
            FormDepartman DepFormu = new FormDepartman();
            DepFormu.KayID = int.Parse(_lwDepartmanlar.SelectedItems[0].SubItems[0].Text);
            //DepFormu.KG ile Departman ekranının KG'sini(orada tanımladığımız int türündeki nesne), listview1'de silmek istediğimiz seçili nesnenin (dID)'sini atıyoruz. Haliyle, eğer düzenleme ise o ekranın KU 0 a eşit olmamış oluyor.
            DepFormu.ShowDialog();
            DepListYukle();
            
        }

        private void silToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (_lwDepartmanlar.SelectedItems.Count > 0)
            {
                PopupAreYouSure SilOnay = new PopupAreYouSure();
                Army.EventMessage = "Seçilen Departman Silinecek,\nEmin misiniz?";
                SilOnay.ShowDialog();

                if (Army.EventConfirm)
                {
                    Army.SQL().cmd("Update Departman SET isDeleted=1 where dID=" + _lwDepartmanlar.SelectedItems[0].SubItems[0].Text.ToString());
                    MessageBox.Show("Seçilen Departman Silindi.", "Kayıt Silindi.", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    DepListYukle();
                    //sil komutu
                }
            }

            //if (_lwDepartmanlar.SelectedItems.Count > 0)
            //{
            //    DialogResult sonuc;
            //    sonuc = MessageBox.Show("Kaydı silmek istediğinize emin misiniz?", "Dikkat!", MessageBoxButtons.YesNo);
            //    if (sonuc == DialogResult.Yes)
            //    {
            //        SQL.cmd("Update Departman SET isDeleted=1 where dID=" + _lwDepartmanlar.SelectedItems[0].SubItems[0].Text);

            //        MessageBox.Show("Kayıt, başarı ile silinmiştir.");
            //        DepListYukle();
            //    }
            //}
            //else
            //{
            //    MessageBox.Show("Lütfen, silinecek kaydı seçin");
            //}

        }

        private void düzenleToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (_lwDepartmanlar.SelectedItems.Count > 0)
            {
                KDuzenle();
            }
            else
            {
                MessageBox.Show("Lütfen, düzenlenecek kaydı seçiniz...");
            }
        }

    
        private void _btnYeni_Click(object sender, EventArgs e)
        {
            FormDepartman d = new FormDepartman();
            d.ShowDialog();
            DepListYukle();
        }

        private void _btnKapat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void _btnListeGuncelle_Click(object sender, EventArgs e)
        {
            DepListYukle();
        }

        private void _lwDepartmanlar_DoubleClick(object sender, EventArgs e)
        {
            if (_lwDepartmanlar.SelectedItems.Count > 0 & ForSelection)
            {
                Army.SecilenID = int.Parse(_lwDepartmanlar.SelectedItems[0].SubItems[0].Text);
                Army.EventConfirm = true;
                this.Close();
            }
        }

        private void _btnAra_Click(object sender, EventArgs e)
        {
            string Sorgu = "Select \n" +
                "dID,\n" +
                "DepAdi\n" +
                   "from Departman \n" +
                   "where isDeleted=0 and \n" +
                       "DepAdi like '%" + _txtAraString.Text.ToString().Replace("'", "''") + "%' ";

            _lwDepartmanlar.Items.Clear();

            DataTable dt = Army.SQL().GetDataTable(Sorgu);
            foreach (DataRow item in dt.Rows)
            {
                ListViewItem ls = new ListViewItem(item[0].ToString());
                ls.SubItems.Add(item[1].ToString());

                _lwDepartmanlar.Items.Add(ls);
            }
            _txtAraString.Focus();
        }
    }
}